home *** CD-ROM | disk | FTP | other *** search
- onClipEvent(enterFrame){
- createEmptyMovieClip("fill",10000);
- fill.lineStyle(1.5,16777215);
- fill.moveTo(xp[0],yp[0]);
- fill.beginFill(16777215,30);
- fill.lineTo(xp[1],yp[1]);
- fill.lineTo(xp[2],yp[2]);
- fill.endFill();
- fill.moveTo(xp[3],yp[3]);
- fill.lineTo(xp[4],yp[4]);
- fill.moveTo(xp[5],yp[5]);
- fill.lineTo(xp[6],yp[6]);
- xpos = (xp[0] + xp[1] + xp[2]) / 3;
- ypos = (yp[0] + yp[1] + yp[2]) / 3;
- if(xpos < 25 or xpos > 525)
- {
- stex = "k6.mp3";
- xp[0] = 275 + Math.random() - 0.5;
- yp[0] = 200 + Math.random() - 0.5;
- xp[1] = 250;
- yp[1] = 250;
- xp[2] = 300;
- yp[2] = 250;
- xbew[0] = 0;
- ybew[0] = 0;
- xbew[1] = 0;
- ybew[1] = 0;
- xbew[2] = 0;
- ybew[2] = 0;
- if(xpos < 275)
- {
- _parent.tex1 = _parent.tex1 + 1;
- if(_parent.tex1 >= _parent.mp)
- {
- _parent.tex1 = "-1-";
- prevf = true;
- stex = "k12.mp3";
- }
- }
- else
- {
- _parent.tex = _parent.tex + 1;
- if(_parent.tex >= _parent.mp)
- {
- _parent.tex1 = "-2-";
- prevf = true;
- stex = "k12.mp3";
- }
- }
- if(_parent.soundon)
- {
- _parent.sound1 = new Sound(this);
- _parent.sound1.setVolume(100);
- _parent.sound1.attachSound(stex,true);
- _parent.sound1.start(0,1);
- }
- if(prevf)
- {
- _parent.prevFrame();
- }
- xpos = xp[0];
- }
- if(xpos > 450)
- {
- md2 = 0;
- }
- else
- {
- md2 = 1;
- }
- ypos2 = (ypos2 * 9 + Math.max(70,Math.min(330,ypos))) / 10;
- xbew[5] += (450 + 50 * md2 - xp[5] - xbew[5]) * 0.35;
- xbew[6] += (450 + 50 * md2 - xp[6] - xbew[6]) * 0.35;
- ybew[5] += (ypos2 + 50 - yp[5] - ybew[5]) * 0.35;
- ybew[6] += (ypos2 - 50 - yp[6] - ybew[6]) * 0.35;
- if(xpos < 275)
- {
- xpos = -0.05;
- }
- else
- {
- xpos = 0.05;
- }
- ypos = 0;
- e = 0;
- while(e < 3)
- {
- xbew[e] += xpos;
- ybew[e] += ypos;
- e++;
- }
- ymouse = Math.max(70,Math.min(330,_ymouse));
- xbew[3] += (50 + 50 * md - xp[3] - xbew[3]) * 0.35;
- xbew[4] += (50 + 50 * md - xp[4] - xbew[4]) * 0.35;
- ybew[3] += (ymouse + 50 - yp[3] - ybew[3]) * 0.35;
- ybew[4] += (ymouse - 50 - yp[4] - ybew[4]) * 0.35;
- maxp = 0;
- e = 0;
- while(e < ballz)
- {
- ybew[e] += (Math.random() * 0.1 - 0.05) * 0.03;
- xbew[e] += (Math.random() * 0.1 - 0.05) * 0.03;
- e++;
- }
- done = 0.01;
- while(done < 1)
- {
- t3 = 1 - done;
- e = 0;
- while(e < ballz)
- {
- a = 0;
- while(a < strichz)
- {
- if(ep[a] != e && sp[a] != e && Math.abs(xp[e] - (xp[ep[a]] + xp[sp[a]]) / 2) - Math.abs(xp[sp[a]] - xp[ep[a]]) / 2 < (Math.abs(xbew[e]) + Math.abs(xbew[ep[a]]) + Math.abs(xbew[sp[a]])) * 2 && Math.abs(yp[e] - (yp[ep[a]] + yp[sp[a]]) / 2) - Math.abs(yp[sp[a]] - yp[ep[a]]) / 2 < (Math.abs(ybew[e]) + Math.abs(ybew[ep[a]]) + Math.abs(ybew[sp[a]])) * 2)
- {
- t = 100;
- tak = "no";
- alpha = xbew[ep[a]] * ybew[sp[a]] - ybew[e] * xbew[ep[a]] - xbew[e] * ybew[sp[a]] - ybew[ep[a]] * xbew[sp[a]] + ybew[ep[a]] * xbew[e] + ybew[e] * xbew[sp[a]];
- beta = xp[ep[a]] * ybew[sp[a]] - xp[ep[a]] * ybew[e] + yp[sp[a]] * xbew[ep[a]] - yp[e] * xbew[ep[a]] - xp[e] * ybew[sp[a]] + xp[e] * ybew[e] - xbew[e] * yp[sp[a]] - yp[ep[a]] * xbew[sp[a]] + yp[ep[a]] * xbew[e] + yp[e] * xbew[sp[a]] - xp[sp[a]] * ybew[ep[a]] + xp[e] * ybew[ep[a]] + xp[sp[a]] * ybew[e] - xp[e] * ybew[e];
- lambda = yp[sp[a]] * xp[ep[a]] - yp[e] * xp[ep[a]] - xp[e] * yp[sp[a]] + yp[e] * xp[e] - yp[ep[a]] * xp[sp[a]] + yp[ep[a]] * xp[e] + yp[e] * xp[sp[a]] - yp[e] * xp[e];
- lambda = Math.sqrt(beta * beta - 4 * alpha * lambda);
- t1 = (- beta + lambda) / (2 * alpha);
- t2 = (- beta - lambda) / (2 * alpha);
- alpha = (xp[sp[a]] - xp[e] + (xbew[sp[a]] - xbew[e]) * t2) / (xp[ep[a]] - xp[e] + (xbew[ep[a]] - xbew[e]) * t2);
- lambda = (xp[sp[a]] - xp[e] + (xbew[sp[a]] - xbew[e]) * t1) / (xp[ep[a]] - xp[e] + (xbew[ep[a]] - xbew[e]) * t1);
- if(t1 < t2 && t1 > 0 && lambda < 0)
- {
- tak = "t1";
- t = t1;
- beta = lambda;
- }
- else if(t2 > 0 && alpha < 0)
- {
- tak = "t2";
- t = t2;
- beta = alpha;
- }
- if(t <= 1 - done && tak != "no")
- {
- t3 = Math.min(t,t3);
- if(t == t3)
- {
- the_e = e;
- the_a = a;
- the_beta = beta;
- }
- }
- }
- a++;
- }
- e++;
- }
- if(t3 != 1 - done)
- {
- e = 0;
- while(e < ballz)
- {
- xp[e] += xbew[e] * (t3 * 0.99);
- yp[e] += ybew[e] * (t3 * 0.99);
- e++;
- }
- e = the_e;
- a = the_a;
- beta = the_beta;
- beta = 1 - 1 / (1 - beta);
- xbewenf = xbew[e] - xbew[sp[a]] * (1 - beta) - xbew[ep[a]] * beta;
- ybewenf = ybew[e] - ybew[sp[a]] * (1 - beta) - ybew[ep[a]] * beta;
- xenf = xp[sp[a]] - xp[ep[a]];
- yenf = yp[sp[a]] - yp[ep[a]];
- p = Math.sqrt(ybewenf * ybewenf + xbewenf * xbewenf);
- enf = Math.sqrt(yenf * yenf + xenf * xenf);
- w = xenf / enf;
- if(- yenf > 0)
- {
- lambda = 180 + Math.asin(w) / 0.017453277777777776;
- }
- else
- {
- lambda = - Math.asin(w) / 0.017453277777777776;
- }
- w = ybewenf / p;
- if(xbewenf > 0)
- {
- alpha = 180 + Math.asin(w) / 0.017453277777777776;
- }
- else
- {
- alpha = - Math.asin(w) / 0.017453277777777776;
- }
- alpha -= lambda;
- alpha = Math.abs(alpha);
- if(Math.abs(alpha) > 180)
- {
- alpha -= 360;
- }
- if(Math.abs(alpha) > 90)
- {
- xenf = - xenf;
- yenf = - yenf;
- }
- xbewenf = (- yenf) / enf * p;
- ybewenf = xenf / enf * p;
- beta = 1 - beta;
- xbew[e] -= xbewenf * op;
- ybew[e] -= ybewenf * op;
- xbew[sp[a]] += xbewenf * beta * op;
- ybew[sp[a]] += ybewenf * beta * op;
- xbew[ep[a]] += xbewenf * (1 - beta) * op;
- ybew[ep[a]] += ybewenf * (1 - beta) * op;
- xbew[e] *= op2;
- ybew[e] *= op2;
- xbew[sp[a]] *= op2;
- ybew[sp[a]] *= op2;
- xbew[ep[a]] *= op2;
- ybew[ep[a]] *= op2;
- if(_parent.soundon)
- {
- _parent.quietsch.play();
- }
- }
- else
- {
- e = 0;
- while(e < ballz)
- {
- xp[e] += xbew[e] * (1 - done);
- yp[e] += ybew[e] * (1 - done);
- e++;
- }
- }
- done += t3;
- }
- e = 0;
- while(e < ballz)
- {
- if(xp[e] > 550)
- {
- back = (xp[e] - 550) / xbew[e];
- xp[e] -= xbew[e] * back;
- yp[e] -= ybew[e] * back * 0.5;
- xbew[e] *= - rob;
- ybew[e] *= rob;
- }
- if(xp[e] < 0)
- {
- back = xp[e] / xbew[e];
- xp[e] -= xbew[e] * back;
- yp[e] -= ybew[e] * back * 0.5;
- xbew[e] *= - rob;
- ybew[e] *= rob;
- }
- if(yp[e] > 400)
- {
- back = (yp[e] - 400) / ybew[e];
- xp[e] -= xbew[e] * back * 0.5;
- yp[e] -= ybew[e] * back;
- ybew[e] *= - rob;
- xbew[e] *= rob;
- }
- if(yp[e] < 0)
- {
- back = yp[e] / ybew[e];
- xp[e] -= xbew[e] * back * 0.5;
- yp[e] -= ybew[e] * back;
- ybew[e] *= - rob;
- xbew[e] *= rob;
- }
- yb[e] = ybew[e];
- xb[e] = xbew[e];
- e++;
- }
- a = 3;
- while(a < 6)
- {
- ber = schwabbel / the_count[ep[a]];
- ber1 = schwabbel / the_count[sp[a]];
- yenf = yp[sp[a]] + yb[sp[a]] * ber1 - yp[ep[a]] - yb[ep[a]] * ber;
- xenf = xp[sp[a]] + xb[sp[a]] * ber1 - xp[ep[a]] - xb[ep[a]] * ber;
- enf = Math.sqrt(yenf * yenf + xenf * xenf);
- enfspeed = slang2[a] - enf;
- if(enf == 0)
- {
- p = spower / 5;
- xenf = 1;
- enf = 1;
- }
- else
- {
- p = (- (slang[a] - enf)) * (0.4 / schwabbel);
- if(Math.abs(p) > 5)
- {
- p *= 2;
- }
- if(p != 0)
- {
- p = Math.min(Math.abs(p),spower / 5) * Math.abs(p) / p;
- }
- }
- maxp += Math.abs(p);
- verh = sizor[ep[a]] / sizor[sp[a]];
- ybew[ep[a]] += yenf / enf * p / verh;
- xbew[ep[a]] += xenf / enf * p / verh;
- xbew[sp[a]] -= xenf / enf * p * verh;
- ybew[sp[a]] -= yenf / enf * p * verh;
- slang2[a] = Math.round(enf * 10);
- a++;
- }
- }
-